【レポート】Amazon CloudFrontとAWS Lambda@Edgeの紹介 #reinvent #CTD201
re:Invent 2017のセッション「CTD201 - Introduction to Amazon CloudFront and AWS Lambda@Edge」を聴講したレポートです。
スピーカーは
- Tom Witman - Head of BD, Edge/Security, AWS
- Nishit Sawhney - Principal Product Manager, Amazon Web Services
です。
AWSのエッジサービスとは
- CloudFrontのエッジキャッシュサーバーによって様々なサービスが提供される
- Route 53
- AWS WAF
- CloudFront
- Lambda@Edge
- Webアプリにダイレクトアクセスする
- クラウドへのネットワークアクセスは地域ISPから遠い
- AWSのEdgeサービスは地域ISPから近いところで提供
- エッジロケーション(エッジキャッシュサーバーを提供するデータセンター)は世界中に100超ある
- CloudFrontの動作
- ユーザーからの初回アクセスはオリジン(キャッシュ元)から取得
- 2回目以降はキャッシュサーバーから返答
- CloudFrontの設定単位 : ディストリビューション
- CloudFrontのオリジン選択 : パスパターンマッチング
- サポートするHTTPメソッド
- 4つのユースケース
- Webサイト高速化
- ユーザー体験のカスタマイズ
- ライブ/オンデマンドのストリーミング
- セキュアコンテンツ
1. Webサイト高速化
- WordPressのCloudFront構成例
- TCPハンドシェイクの効率化KeepAliveでキャッシュ-オリジン間のコネクションコストを削減
- TLS/SSL最適化
- HTTP/2もサポート
- セッションチケット
- OCSP Stapling
- PFS
- 事例: Slack Web API。GET/POSTリクエストでJSONのレスポンスを改善
2. ユーザー体験のカスタマイズ
- Lambda@Edgeの利用
- ユーザーのLambda関数をエッジサーバーで実行。プロセスを常駐させる必要はなく、実行時間単位の課金
- トリガーは4種類。Viewer Request, Origin Request(キャッシュミスのとき), Origin Response, Viewer Response。レスポンストリガーはレスポンス内容の変更を想定
- ユースケース
- コンテンツのカスタマイズ
- 訪問者セッションの検証。トークンとか。
- URLカスタマイズ
- A/Bテスト
- セキュリティ HSTS対応やボット対策
- ブループリントでユースケースごとのサンプルコードが選べる。ほかにもAWS Compute Blog、AWS Networking Blogにも。
- 最近追加された新機能
3. ライブ/オンデマンドのストリーミング
- サポートするオリジン
- S3
- EC2 with Streaming Software
- Content Typeの設定
- コンテンツの保護: Signed Cookieの利用
- ハイトラフィックなイベントに対応するための準備ビジネスサポートへの加入を推奨
- 事例 : Hulu
4. セキュアコンテンツ
- 様々なセキュリティオプション
- 新機能、Field-Level Encryptionの発表。リリースは12月予定
- 他のサービスの組み合わせ
- AWS WAF : OWASP対応も
- AWS Shield Advanced
- AWS Certificate Manager
- AWS Config
- AWS CloudWatch
所感
CloudFrontとLambda@Edgeの概要紹介として、よくまとまっているセッションでした。ちょっとボリュームが多いので、初心者が理解するにはそれなりに時間がかかる感じはしますw